⋇⋉⋈⋊ 系统构建 ⋉⋈⋊⋇
Other Operation System
⋇⋉⋈⋊ BiscuitOS 社区订阅 ⋉⋈⋊⋇
CACHE 实践专题(停止订阅)
内存屏障实践专题(停止订阅)
⋇⋉⋈⋊ 内存管理 ⋉⋈⋊⋇
内存实践大专题项目
内存管理之内存分配器大专题(Updating)
内存管理之大页专题(Updating)
内存管理之内存回收大专题(Updating)
内存管理之内存故障大专题(Updating)
内存管理之内存性能优化大专题(Updating)
内存管理之异构内存大专题(Updating)
内存管理之内存统计大专题(Updating)
内存管理之虚拟化大专题(Updating)
内存管理之虚拟地址空间大专题(Updating)
内存管理之物理地址空间大专题(Updating)
内存场景项目
开源内存项目
内存管理落地实践项目
BiscuitOS 社区经典讨论项目
⋇⋉⋈⋊ 内存管理 -- 分页机制篇 ⋉⋈⋊⋇
应用程序虚拟内存分配方式
应用程序虚拟内存分类
内核虚拟地址空间
分页机制相关的技术
Linux 页表
ARM 架构页表(规划中)
RISCV 架构页表(规划中)
Page Table Attribute
页表查询(Consult)
PROC Interface
FOLLOW-Page Technology
Page Table Tools
使用内存流动工具调试缺页
PTDUMP DEBUGFS TOOLS
pmap
ptexplore
Kdump/Crash with PageFault
Kprobe
Page Table 相关研究
CONFIG_HIGHPTE 机制
PTI(Page Table Isolation) Mechanism
PAGETABLE ENTRY BAD
CONFIG_PAGE_TABLE_ISOLATION
ALLOC PAGETABLE TRACK
PTRACE
change_protection_range
PROTNONE 与 NUMA Balancing
PageFault on Architecture
ARM/AARCH PageFault(未来规划中)
RISCV PageFault(未来规划中)
PageFault Handlers Reason
Migration with PageFault
COPY-USER with PageFault
Protection Key(PKRU) With PageFault
PageFault 源码分析
⋇⋉⋈⋊ 内存管理 -- 内存分配器篇 ⋉⋈⋊⋇
内核空间分配器
Intel® X86 Architecture
ARM Architecture(规划中)
RISCV Architecture(规划中)
IOREMAP MMIO Memory Allocator
MEMREMAP Temporary Memory Allocator
MODULE Memory Allocator
DMA Memory Allocator
PMEM Memory Allocator
DMA-Pool Memory Allocator
ZSMALLOC Memory Allocator
用户空间分配器
GLIBC/LIBCL: malloc/mallopt
堆分配器: BRK/SBRK
jemalloc
tcmalloc
ptmalloc
移植内核分配器到用户空间项目
用户空间实现 MEMBLOCK 分配器项目
用户空间实现 BUDDY 分配器项目
用户空间实现 SLAB 分配器项目
内存分配器相关的技术
各式各样的 STRUCT PAGE
NUMA
ZONE
⋇⋉⋈⋊ 内存管理 -- 大页内存篇 ⋉⋈⋊⋇
VMALLOC 大页技术
PFNMAP 大页技术
MMIO 大页技术
HUGEPD 大页技术
虚拟化大页技术
大页相关的技术
⋇⋉⋈⋊ 内存管理 -- 内存回收篇 ⋉⋈⋊⋇
Memory Hotplug Mechanism
LRU
Memory Migration Mechanism
Memory Reclaim Mechanism
Memory Compact Mechanism
Memory Swap Mechanism
Frontswap
SwapCgroup
SWAP-File
SWAP Slot
Memory Shrink Mechanism
Memory Scan Mechanism
Memory Compress Mechanism[TODO]
⋇⋉⋈⋊ 内存管理 -- 内存故障篇 ⋉⋈⋊⋇
Memory Diagnostic/Sanitizers Tools
内存压测工具[TODO]
Intel MLC
memtest
RDT
Memory BUG
Memory RAS[Updating]
⋇⋉⋈⋊ 内存管理 -- 异构内存篇 ⋉⋈⋊⋇
I/O Space: I/O Port
- IO-Mapping
MMIO: Memory Mapping IO
IOREMAP Mechanism
EARLY IOREMAP Mechanism
DMA
Coherent DMA
Streaming DMA
DMABUF
DMA-Pool
HMM: 异构内存管理
HBM: High Bandwidth Memory
HDM: Host Manager Device Memory
GPU Memory
Remote Memory
CXL.memory
CXL.cache
PMEM: NVDIMEM
⋇⋉⋈⋊ 内存管理 -- 虚拟地址空间篇 ⋉⋈⋊⋇
Virtual Address Space
Full Architecture 虚拟地址空间布局
Intel i386 虚拟地址空间布局
Intel X86/X64 虚拟地址空间布局
ARM32 虚拟地址空间布局
ARM64 虚拟地址空间布局
内核虚拟地址空间
用户进程虚拟地址空间
堆: BRK
栈: Stack
MMAP 映射区
代码段 .text/.rotext
数据段 .data/.rodata/.bss
虚拟地址空间技术
⋇⋉⋈⋊ 内存管理 -- 内存硬件篇 ⋉⋈⋊⋇
CPU 总线/Intel CPU 总线
Intel X86 硬件架构
Intel 440FX
Intel Q35
MMU 硬件架构
RAM
DRAM
NRAM
MRAM
CACHE and Buffer System
Memory Ordering
Write Combining Buffer
Trace CACHE
Register
CPUID Register
MSR Register
Physical Address Space
Address Space
PHYSICAL MEMORY
OSMEM: OS Manager Memory
DEVMEM: Device Memory
RSVDMEM: System Reserved Memory
CMA: Contiguous Memory
DMA
SHMEM: SHARED MEMORY
KSM
READ-ONLY(RO) MEMORY
High-Memory
Memory-Pool
HUGE PAGE MEMORY
HUGETLB MEMORY
THP MEMORY
VMALLOC HUGE MEMORY
I/O Space
- IO-Mapping
MMIO
PCIe BAR
Internal Register
Physical Memory Topology
Memory Model
NUMA Topology
Memory Interleave Topology
Physical MEMORY ZONE
⋇⋉⋈⋊ 内存管理 -- 内存统计篇 ⋉⋈⋊⋇
Memory Statistics Tools[TODO]
VMSTAT Mechanism
/proc/meminfo information
free tools
Memory Water-Line
⋇⋉⋈⋊ 内存管理 -- 内存虚拟化篇 ⋉⋈⋊⋇
⋇⋉⋈⋊ 内存管理 -- 其他篇 ⋉⋈⋊⋇
Backing-Device
File Mapping Mechanism
Page CACHE
Buffer
Readahead
Backing-device WriteBack and mSync
Page IO
File Truncate Technology
IO Access
Buffered IO
Direct IO
DAX IO
内存算法
内存并行与同步机制
虚拟文件系统
sys_mmap/sys_mmap2
sys_munmap
sys_brk
SYSCALL on Architecture
虚拟化
Basic Research
Language Practice on BiscuitOS
链表
Single list
树
锁/同步